﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using Tools.Domain.Common.Repositories.Contracts;
using Tools.Domain.Specifications;
using Webshop20.Domain.Shared.Products.Core;

namespace Webshop20.Domain.Catalog.Repositories.Implementation
{
    public class CategoryRepository : IRepository<Category>
    {
        #region IRepository<Category> Members

        public void Add(Category instance)
        {
            throw new NotImplementedException();
        }

        public void Save(Category instance)
        {
            throw new System.NotImplementedException();
        }

        public void Update(Category instance)
        {
            throw new NotImplementedException();
        }

        public void SaveOrUpdate(Category instance)
        {
            throw new System.NotImplementedException();
        }

        public void SaveOrUpdateCopy(Category instance)
        {
            throw new System.NotImplementedException();
        }

        public void Delete(Category instance)
        {
            throw new NotImplementedException();
        }

        public Category FindById(object id)
        {
            throw new NotImplementedException();
        }

        public IEnumerable<Category> FindAll()
        {
            throw new NotImplementedException();
        }

        public IQueryable<Category> Find(Expression<Func<Category, bool>> searchTerm)
        {
            throw new System.NotImplementedException();
        }

        public IQueryable<Category> Find(Func<Category, bool> searchTerm)
        {
            throw new System.NotImplementedException();
        }

        public IQueryable<Category> FindBySpecification(ISpecification<Category> specification)
        {
            throw new System.NotImplementedException();
        }

        public IQueryable<Category> FindByQuery(IQuery<Category> query)
        {
            throw new System.NotImplementedException();
        }

        public IQueryable<R> FindInRole<R>(Expression<Func<Category, bool>> searchTerm)
        {
            throw new System.NotImplementedException();
        }

        public R FindByIdInRole<R>(object id)
        {
            throw new System.NotImplementedException();
        }

        public IEnumerable<R> FindAllInRole<R>()
        {
            throw new System.NotImplementedException();
        }

        public IQueryable<R> FindBySpecificationInRole<R>(ISpecification<Category> specification)
        {
            throw new System.NotImplementedException();
        }

        public IFutureValue<Category> FutureFindById(object id)
        {
            throw new System.NotImplementedException();
        }

        public IFutureQueryOf<Category> FutureFindAll()
        {
            throw new System.NotImplementedException();
        }

        public IFutureQueryOf<Category> FutureFind(Expression<Func<Category, bool>> searchTerm)
        {
            throw new System.NotImplementedException();
        }

        public IFutureQueryOf<Category> FutureFindBySpecification(ISpecification<Category> specification)
        {
            throw new System.NotImplementedException();
        }

        #endregion
    }
}